/*
  Permisos de Usuarios de Acceso para cada Equipo.
  Como en Java no existe el concepto de equipo fisico, no podemos dejar que cualquier usuario pueda ingresar
  a equipos virtuales que tienen asignadas cajas, etc.
  Si un usuario de acceso no tiene ninguna fila en esta tabla, simplemente no podra ingresar al sistema.
  Para win esta tabla estara siempre vacia.
 
  Edu 03/07/2020
*/

CREATE TABLE public.ambusraccxambequ
(
  codambusracc character varying(20) NOT NULL,
  nombreambequ character varying(20) NOT NULL,
  idambdb integer,
  fechainsert timestamp without time zone,
  fechaupdate timestamp without time zone,
  CONSTRAINT ambusraccxambequ_pkey PRIMARY KEY (codambusracc, nombreambequ),
  CONSTRAINT gestion_ai_ambusraccambusraccxambequ FOREIGN KEY (codambusracc)
      REFERENCES public.ambusracc (cod) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE,
  CONSTRAINT gestion_ai_ambequambusraccxambequ FOREIGN KEY (nombreambequ)
      REFERENCES public.ambequ (nombre) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (OIDS=TRUE);
ALTER TABLE public.ambusraccxambequ OWNER TO abacouser;
COMMENT ON TABLE public.ambusraccxambequ IS 'Permisos por Usuarios de Acceso y Equipos ( Solo JAVA )';
COMMENT ON COLUMN public.ambusraccxambequ.codambusracc IS 'Codigo de Usuario de Acceso (Tabla AMBUSRACC)';
COMMENT ON COLUMN public.ambusraccxambequ.nombreambequ IS 'Nombre del Equipo (Tabla AMBEQU)';
COMMENT ON COLUMN public.ambusraccxambequ.idambdb IS 'Identificador de la instancia';
COMMENT ON COLUMN public.ambusraccxambequ.fechainsert IS 'Fecha y hora de alta del registro';
COMMENT ON COLUMN public.ambusraccxambequ.fechaupdate IS 'Fecha y hora ultima actualizacion del registro';

CREATE TRIGGER control_audit_ambusraccxambequ
BEFORE INSERT OR UPDATE OR DELETE ON public.ambusraccxambequ
FOR EACH ROW
EXECUTE PROCEDURE public.tg_control_audit_instancia();


-- =================================
SELECT aaversion('434.03','434.02');
-- =================================